Адміністрація вирішила продати даний сайт. За детальною інформацією звертайтесь за адресою: rozrahu@gmail.com

Лабораторна робота № 1

Інформація про навчальний заклад

ВУЗ:
Інші
Інститут:
Не вказано
Факультет:
КН
Кафедра:
Кафедра СКС

Інформація про роботу

Рік:
2011
Тип роботи:
Лабораторна робота
Предмет:
Алгоритми та методи обчислень

Частина тексту файла

Міністерство освіти та науки України НТУУ “КПІ” Факультет прикладної математики Кафедра “СКС” Лабораторна робота № 1 з дисципліни „Алгоритми та методи обчислення” Київ 2011 ОБЧИСЛЕННЯ ЗНАЧЕНЬ ФУНКЦІЇ Мета роботи – дослідити особливості наближення функцій за допомогою рядів, виконати аналіз похибок наближення. Варіант 14 14 cosx [-31.3; -4.9]   Метод обчислення:  де   (k = 1, 2, …, n – 1) і   Файл main.cpp: /************************************************************************ *file: main.cpp *author: Stelmakh Georgiy, KB-93 *written: 16/09/2011 *last modified: 16/09/2011 ************************************************************************/ #include <cstdlib> #include <iostream> #include <math.h> using namespace std; int sign; // Positive or Negative X indicator //Ranges double a = - 31.3; double b = - 4.9; double x; int k, n_len; double tmp, U; //Determinating X sign void SignX(){ sign = 1; double pi = 3.1415926535897932384626433832795; if( x < 0 ){ x = -x; } while( x > pi * 2 ){ x -= pi * 2; } if( x >= pi ){ x -= pi; sign = -1; } } //1st TASK void FirstCos(){ tmp = 0; double eps = 1E-2; U = 1; k = 1; x = ( b - a ) / 2; printf( "1st task: x := %4.1f cos( x ) := %4.6f\n\n", x, cos( x ) ); printf( "%-10s%-10s%-15s%-20s%-20s", "EPS", "| n", "| cos(x[i])", "| Absolute error", "| Remainder term" ); printf( "\n------------------------------------------------------------------------\n" ); double real = x; SignX(); while( eps > 1E-14 ){ while( abs( U ) > eps ){ tmp += U; U *= - x * x / ( 2 * k * ( 2 * k - 1 ) ); k++; } // Storing n count for eps = 10^(-8) if( eps == 1E-8 ){ n_len = k - 1; } printf( "%.0e%5s", eps, "|" ); printf( "%2d%8s ", k - 1, "|" ); printf( "%f%7s", sign * tmp, "| " ); printf( "%.5e%7s ", abs( sign * tmp - cos( real ) ), "|" ); printf( "%.5e\n", abs( U ) ); eps /= 1E3; // Changing by 10^(-3) } printf( "\n" ); } //2nd TASK void SecondCos(){ printf( "2nd task:\n\n" ); printf( "%-7s%-15s%-14s%-20s%-20s", "x[i]", "| cos(x[i])", "| f", "| Absolute error", "| Remainder term" ); printf( "\n----------------------------------------------------------------------------\n" ); for( int i = 0; i <= 10; i++ ){ double h = ( b - a ) / 10; x = a + h * i; double Xi = x; printf( "%-.2f%2s", x, " " ); printf( "%9f%7s", cos( x ), " " ); SignX(); tmp = 0; U = 1; for( int n = 1; n <= n_len ; n++ ){ tmp += U; U *= - x * x / ( 2 * n * ( 2 * n - 1 ) ); } printf( "%9f%7s", sign * tmp, " " ); printf( "%.5e%7s ", abs( sign * tmp - cos( Xi ) ), " " ); printf( "%.5e\n", abs( U ) ); } printf( "\n" ); } int main(){ //1st TASK FirstCos(); //2nd TASK SecondCos(); system( "pause" ); return 0; } Вхідні дані та результат: / Графік залежності абсолютної похибки від X: /
Антиботан аватар за замовчуванням

28.03.2013 01:03

Коментарі

Ви не можете залишити коментар. Для цього, будь ласка, увійдіть або зареєструйтесь.

Завантаження файлу

Якщо Ви маєте на своєму комп'ютері файли, пов'язані з навчанням( розрахункові, лабораторні, практичні, контрольні роботи та інше...), і Вам не шкода ними поділитись - то скористайтесь формою для завантаження файлу, попередньо заархівувавши все в архів .rar або .zip розміром до 100мб, і до нього невдовзі отримають доступ студенти всієї України! Ви отримаєте грошову винагороду в кінці місяця, якщо станете одним з трьох переможців!
Стань активним учасником руху antibotan!
Поділись актуальною інформацією,
і отримай привілеї у користуванні архівом! Детальніше

Оголошення від адміністратора

Антиботан аватар за замовчуванням

пропонує роботу

Admin

26.02.2019 12:38

Привіт усім учасникам нашого порталу! Хороші новини - з‘явилась можливість кожному заробити на своїх знаннях та вміннях. Тепер Ви можете продавати свої роботи на сайті заробляючи кошти, рейтинг і довіру користувачів. Потрібно завантажити роботу, вказати ціну і додати один інформативний скріншот з деякими частинами виконаних завдань. Навіть одна якісна і всім необхідна робота може продатися сотні разів. «Головою заробляти» продуктивніше ніж руками! :-)

Новини